package com.springboot.fram.core.date;

/**
 * 时间格式
 * <pre>
 * 常用时间格式化的枚举
 * DateUtils.format(Date date, DatePattern pattern)
 * </pre>
 *
 * @author madman
 */
public enum DatePattern {

  /**
   * 标准日期时间格式，精确到秒yyyy-MM-dd HH:mm:ss
   */
  DATETIME("yyyy-MM-dd HH:mm:ss"),

  /**
   * 标准日期格式yyyy-MM-dd
   */
  DATE("yyyy-MM-dd"),

  /**
   * 按小时计
   */
  DATE_HOUR("yyyy-MM-dd HH"),

  /**
   * 标准时间格式 HH:mm:ss
   */
  TIME("HH:mm:ss"),

  /**
   * 带反斜线标准日期格式yyyy/MM/dd
   */
  DATE_BACKSLASHES("yyyy/MM/dd"),

  /**
   * 中文标准时间格式yyyy年MM月dd日 HH:mm:ss
   */
  DATETIME_ZH("yyyy年MM月dd日 HH:mm:ss"),

  /**
   * 文件当前时间格式yyyyMMddHHmmss
   */
  DATETIME_FILE("yyyyMMddHHmmss"),
  // ------------------------------↓较少用用格式↓------------------------------
  /**
   * HTTP头中日期时间格式EEE, dd MMM yyyy HH:mm:ss z
   */
  HTTP_DATETIME("EEE, dd MMM yyyy HH:mm:ss z"),

  /**
   * 标准日期时间格式，精确到分yyyy-MM-dd HH:mm
   */
  DATETIME_MINUTE("yyyy-MM-dd HH:mm"),

  /**
   * 标准日期时间格式，精确到毫秒yyyy-MM-dd HH:mm:ss.SSS
   */
  DATETIME_MS("yyyy-MM-dd HH:mm:ss.SSS");

  private String pattern;

  DatePattern(String pattern) {
    this.pattern = pattern;
  }

  public String getPattern() {
    return pattern;
  }

}
